A basic service set (BSS) is a basic element of a wireless local area network (WLAN). A BSS network is formed by stations (STA) that have certain association within a specific coverage area. One scenario of the association is that stations directly communicate with each other in an ad hoc network, which is called an independent BSS (IBSS). Another common scenario is that in a BBS network, only one central station for dedicatedly managing a BSS is called an access point (AP), whereas other stations that are not an AP are called terminals, or called non-AP STAs. The AP and non-AP STAs are collectively called STAs. The AP and non-AP STAs do not need to be distinguished in description of the STA. In the same BSS network, due to factors such as a distance and transmit power, one STA is incapable of detecting another STA that is far away from it. The two STAs are hidden nodes for each other.
In the 802.11e protocol, a transmit opportunity (TXOP) is introduced. A TXOP is a bounded time interval during which a station may transmit a frame in a specific communication category. The station obtains a TXOP through contention. Once obtaining the TXOP, the station may transmit a frame in a specific communication category within the TXOP. The frame may specifically be a data frame, a control frame, or a management frame.
When a certain STA obtains a TXOP through contention, the STA is called a TXOP holder. A technology that within the TXOP, when the TXOP holder does not transmit data itself, the TXOP holder temporarily transfers TXOP control to another STA, and the another STA is enabled to send data to the TXOP holder is called reverse direction grant (RDG). In the RDG, the TXOP holder is called a reverse direction initiator (RD Initiator), and the STA that temporarily obtains the TXOP control granted by the RD Initiator is called a reverse direction responder (RD Responder).
To fully use a spectrum resource and improving a transmission rate, a TXOP sharing mode of multi-user multiple input multiple-output (MU-MIMO) is defined for downlink data of an AP. In this TXOP sharing mode of the MU-MIMO, multiple service types may share one TXOP, so as to implement concurrent transmission of frames of multiple service types in an MU-MIMO mode, thereby greatly saving the spectrum resource.
In traditional RDG, when an RD Responder sends a last frame to an RD Initiator, or requires an RD Initiator to send a block acknowledgement for the frame, the RD Responder automatically returns TXOP control back to the RD Initiator.
If the RD Initiator correctly demodulates the last frame sent by the RD Responder, the RD Initiator immediately retrieves the TXOP control. When the RD Responder sends a block acknowledgement request (BAR), the RD Initiator returns a block acknowledgement (BA) to the RD Responder. When the RD Initiator fails to correctly demodulate a block acknowledgement frame, the RD Initiator retrieves the TXOP control by using a point coordination function inter-frame space (PIFS). Retrieving the TXOP control by using the PIFS means that when the RD Initiator fails to correctly demodulate a frame, and does not know whether the frame is a last frame and whether a block acknowledgement is needed for the frame, within one PIFS, the RD Initiator intercepts a state of a channel (busy or idle). If the channel is in an idle state within the PIFS, the RD Initiator retrieves the TXOP control.
Based on the traditional RDG, when the RD Responder is an AP that supports the MU-MIMO, the AP may use an MU-MIMO technology to improve the transmission rate. For example, in a specific scenario, existing stations are an AP, an STA1, and an STA2. The STA1 and the STA2 are hidden nodes for each other, the RD Initiator is the STA1, and the RD Responder is the AP. When the AP enables the MU-MIMO, concurrently sends a frame to the STA1 and the STA2, and requires the STA2 to send an acknowledgement in time, if the STA1 fails to correctly demodulate the frame, the STA1 retrieves TXOP control by using a PIFS and then continues sending another frame to the AP. However, in this case, the STA2 sends a BA to the AP according to a requirement of the AP. That is, at the same time point, the STA1 sends another frame to the AP and the STA2 sends a BA to the AP, thereby resulting in a conflict.